<?php

namespace app\savant\controller;

use think\Controller;
use think\Request;
use think\facade\Config;
use think\facade\Log;
use app\common\utils\ResultVOUtil;
use app\common\utils\OssFlies;
use app\common\model\UserUpload;
use app\common\enums\ResultEnum;
class Files extends Controller
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function image(Request $request)
    {
        $file = $request->file('file');
        if($file){
            $oss = new OssFlies();
            $url = $oss->uploadOss($file,'user');
            if($url){
                $data['url'] = Config::get('user.oss_url').'/'.$url;
                $data['uid'] = session('savant.id');
                $model = new UserUpload();
                try {
                    $model->allowField(true)->save($data);
                } catch (\Exception $e) {
                    Log::record('[文件上传]数据写入:'.$e->getMessage(),'error');
                    $oss->unlinkOss($url);
                    return ResultVOUtil::error(ResultEnum::UPLOAD_ERROR['code'],'写入失败');
                }
                return ResultVOUtil::success($model);
            }else{
                return ResultVOUtil::error(ResultEnum::UPLOAD_ERROR); 
            }
        }else{
            
            return ResultVOUtil::error(ResultEnum::UPLOAD_ERROR['code'],'上传为空');
        }

    }   

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        //
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        //
    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        //
    }
}
